草庐IT

GDAL(Python version)jpg 转 geotiff

全部标签

python - 如何获得jpg文件的深度?

我想使用Python检索jpeg文件的位深度。使用Python图像库:importImagedata=Image.open('file.jpg')printdata.depth但是,对于明显的24位图像,这为我提供了8的深度。难道我做错了什么?有什么方法可以用纯Python代码来完成吗?提前致谢。编辑:它是data.bits而不是data.depth。 最佳答案 我没有在PythonImagingLibraryhandbook中的任何地方看到depth属性.不过,貌似数量有限modes得到支持。你可以使用这样的东西:mode_to_

python:将base64编码的png图像转换为jpg

我想使用python将一些base64编码的png图像转换为jpg。我知道如何从base64解码回原始格式:importbase64pngraw=base64.decodestring(png_b64text)但是我现在如何将其转换为jpg?将pngraw写入文件显然只会给我一个png文件。我知道我可以使用PIL,但我具体应该怎么做呢?谢谢! 最佳答案 您可以使用PIL:data=b'''iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAIBJREFUO

python - Windows 上的 GeoDjango : "Could not find the GDAL library"/ "OSError: [WinError 126] The specified module could not be found"

我一直在尝试设置我的Windows计算机,以便我可以拥有一个带有PostGIS扩展名的本地postgreSQL。安装了这个之后,我希望能够在将其放入云之前在本地使用geodjango创建一个项目。我已经在我的本地机器上使用Django工作了一段时间,现在使用SQLiteDB,但是由于下一个项目将部分基于基于坐标的数据,所以我想设置正确的环境。导入说明:我已经安装了mini-conda以在单独的环境中运行。不过,我在工作时会激活这个“开发”环境我已尝试在线关注大部分geodjango信息/教程,但无法正常工作。我所做的(主要是遵循:https://docs.djangoproject.c

python - 传递超过 23 个输入文件时 gdal_calc amin 失败

我编写了一个调用gdal_calc.py的R函数来计算RasterStack(一系列输入栅格文件)中的像素最小值。我这样做是因为它比大型栅格的raster::min快得多。该函数适用于最多23个文件,但在传递24个或更多文件时会引发警告,并返回一个用零填充的输出栅格。由于R只是准备对pythongdal_calc.py进行系统调用,所以这个问题并不特定于R,我鼓励python/numpy爱好者继续阅读。这是函数。最终gdal_calc调用的结构显示在本文底部的有问题的用法引发的警告消息中。gdal_min26||nbands>26)stop('Maximumnumberofinputs

python - 如何在 python 中编写/创建 GeoTIFF RGB 图像文件?

我有5个形状为nx,ny的numpy数组lons.shape=(nx,ny)lats.shape=(nx,ny)reds.shape=(nx,ny)greens.shape=(nx,ny)blues.shape=(nx,ny)红色、绿色和蓝色数组包含0–255范围内的值,纬度/经度数组是纬度/经度像素坐标。我的问题是如何将这些数据写入geotiff?我最终想使用basemap绘制图像。这是我到目前为止的代码,但是我得到了一个巨大的GeoTIFF文件(~500MB)并且它是空白的(只是一个黑色图像)。还要注意nx,ny=8120,5416。fromosgeoimportgdalfromo

python - 使用 Ruby 或 Python 创建静态图形文件(png、gif、jpg)

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我想根据用户输入动态创建图形图像,然后将该图像显示为PNG文件(或jpg或gif,如有必要,但首选PNG)。这实际上是一个占星术应用;我想要做的是生成PNG格式的图表以供显示。Python或Ruby都可以;事实上,可用的库可能决定了我使用的语言。更新这是一个示例图片:

python - 如何从 python 获取已安装的 GDAL/OGR 版本?

如何从python获取已安装的GDAL/OGR版本?我知道gdal-config程序并且目前正在使用以下程序:In[3]:importcommandsIn[4]:commands.getoutput('gdal-config--version')Out[4]:'1.7.2'但是,我怀疑有一种方法可以使用pythonAPI本身来执行此操作。有骰子吗? 最佳答案 gdal.VersionInfo()做我想做的事:>>>osgeo.gdal.VersionInfo()'1604'这适用于我的Windows机器和Ubuntu安装。gdal.

python - 在 virtualenvwrapper 环境中安装 GDAL

我尝试在virtualenvwrapper环境中安装gdal(pipinstallgdal),但出现此错误:error:command'gcc'failedwithexitstatus1----------------------------------------FailedbuildingwheelforgdalFailedtobuildgdal我也试过“pipinstall--no-installGDAL”但是没有选项--no-install我该怎么办!? 最佳答案 是的,在venv中安装GDAL很麻烦。方便的是,我刚刚为我的

python:从PNG转换为JPG而不使用PIL将文件保存到磁盘

在我的程序中,我需要将.png文件转换为.jpg文件,但我不想将文件保存到磁盘。目前我使用>>>fromPILimportImag>>>ima=Image.open("img.png")>>>ima.save("ima.jpg")但这会将文件保存到磁盘。我不想将其保存到磁盘,而是将其转换为.jpg作为对象。我该怎么做? 最佳答案 你可以使用io中的BytesIO做你正在尝试的事情:fromioimportBytesIOdefconvertToJpeg(im):withBytesIO()asf:im.save(f,format='JP

python - 如何使用 GDAL python 投影和重新采样网格以匹配另一个网格?

澄清:我以某种方式遗漏了关键方面:不使用os.system或子进程-仅使用pythonAPI。我正在尝试转换NOAAGTX偏移网格的一部分以进行垂直基准转换,而不是完全遵循如何在GDAL中使用python执行此操作。我想要一个网格(在本例中是BathymetryAttributedGrid,但它可能是一个geotif)并将其用作我想要做的模板。如果我能做到这一点,我觉得这将极大地帮助人们利用这种类型的数据。这是我所拥有的,但绝对不起作用。当我在生成的目标数据集(dst_ds)上运行gdalinfo时,它与源网格BAG不匹配。fromosgeoimportgdal,osrbag=gdal